/* Smooth scroll */
html {
scroll-behavior: smooth;
}

/* Hover / micro animations */
.project-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.project-card:hover {
transform: translateY(-4px) scale(1.02);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* CTA button hover */
a.cta-button {
transition: background-color 0.2s ease, transform 0.2s ease;
}
a.cta-button:hover {
background-color: #f3f4f6;
transform: translateY(-2px);
}

/* Skill bars */
.bar {
background: #e5e7eb;
border-radius: 4px;
overflow: hidden;
}
.fill {
width: 0;
height: 8px;
background: #3b82f6;
transition: width 1.2s ease-out;
}

/* Typewriter effect */
#typewriter.typing {
  display: inline-block;
  overflow: hidden;
  padding-bottom: 0.17em; 
  white-space: nowrap;
  border-right: 2px solid currentColor;
  animation:
    typing 1s steps(10,end),
    blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from { width: 0 }
  to   { width: 9ch } /*9 character*/
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50%      { border-color: currentColor }
}
